מדעי המחשב מעבר על הרשימה למציאת המקום המתאים לאיבר. החזרת ה- value של ההפניה למינימום. הנחה: הרשימה לא ריקה.

Similar documents
בחינת בגרות, תשע"ז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן

מדעי המחשב פתרון בחינת הבגרות פרק ראשון

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

מדעי המחשב ב' פתרון בחינת הבגרות. שאלה 1 i - false

בוחן בתכנות בשפת C בצלחה

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

פולימורפיזם. blog.csit.org.il מדעי המחשב

פרק מיון וחיפוש - לשם מה? הגדרה

יחידה ארגון המחשב ושפת סף: שאלות תרגול

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

יסודות מבני נתונים. תרגול :9 ערימה - Heap

מבוא לתכנות ב- JAVA תרגול 7

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

אנגלית (MODULE E) בהצלחה!

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

חומר עזר בשימוש: הכל )ספרים ומחברות( קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( 2 שאלות )בחירה מ - 4( סה"כ 50 נקודות

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

שאלון ו' הוראות לנבחן

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

Practical Session No. 13 Amortized Analysis, Union/Find

ASP.Net MVC + Entity Framework Code First.

2 יחידות לימוד הוראות לנבחן רשו ם "טיוטה" בראש כל עמוד טיוטה. רישום טיוטות כלשהן על דפים שמחוץ למחברת הבחינה עלול לגרום לפסילת הבחינה!

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

שאלון ו' הוראות לנבחן

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

שאלון ד' הוראות לנבחן

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

חזרה, מיונים פולינה לוצקר

תאריך הבחינה: מבוא למדעי המחשב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

למבחן ביסודות מדעי המחשב דוגמא

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

A R E Y O U R E A L L Y A W A K E?

פרק רשימה א. ייצוג הרשימה

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

(MODULE E) ב ה צ ל ח ה!

תרגול 8. Hash Tables

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן:

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

הצעת תשובות לשאלות בחינת הבגרות אנגלית

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

המבנה הגאומטרי של מידה

מערכים Haim Michael. All Rights Reserved.

- 4.3 נמצא ברשימה? הוראת מדעי המחשב, אוניברסיטת תל-אביב

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

תרגול 11 תור עץ חיפוש בינארי

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

לאחר מכן נוכל לכתוב תוכניות שכוללות אלגוריתמים

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

A lot of the time when people think about Shabbat they focus very heavily on the things they CAN T do.

הוראות לנבחן לפי ההוראות בקבוצת השאלות במסלול זה. אחד מארבעת המסלולים: מערכות מחשב ואסמבלר, מבוא לחקר ביצועים, מודלים חישוביים, תכנות מונחה עצמים.

THINKING ABOUT REST THE ORIGIN OF SHABBOS

זה. Nir Adar

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

אוסף תרגילים למעבדה ביוניקס - 4

מבני נתונים תרגיל 5 שאלות לגבי העבודה יש להעלות בפורום של הקורס או בשעות הקבלה של המרצה או המתרגל האחראיים על העבודה.

פרק קל לראות מתיאור זה שהערך הנשלף מהמחסנית הוא תמיד הערך האחרון שנדחף אליה. הפרוטוקול המגדיר את דרך הגישה לערכים נקרא LIFO ראשי התיבות של המילים:

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

Depth-First Search DFS

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of

הקיטסיגול הרבחה יעדמל בלושמה גוחה

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

פרק יעילות היעילות של קריטריון המקום עוסק בנושאים דומים לאלה של קריטריון הזמן. אנו נתרכז בחישובי היעילות של מדד הזמן.

פרק מחלקות ממשק המחלקה צריך גם לדעת להגדיר בתוכניתו מחלקות לפי הצורך. בפרק זה נלמד להגדיר מחלקה ולממשה על סמך ממשק נתון.

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

אוניברסיטת בן גוריון בנגב

מבוא למחשב בשפת פייתון

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

אוניברסיטת בן גוריון בנגב

הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים

פרק 7 ביצוע-חוזר 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה הביצוע-החוזר.

שנה"ל תשע"ד,סמסטר א',מועד א שאלון בחינה בקורס: מבוא למדעי המחשב לתעו"נ מספר : בחלק א' 11 שאלות, יש לענות על 11 מתוכן )כל שאלה מזכה ב 7 נקודות(

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

sharing food intro price & extra drinks * ניתן להזמין מנות כשרות בתאום מראש for good memories

Transcription:

מדעי המחשב ב' פרק - ראשון מבני נתונים שאלה א. ייצוג: 1 O(n) פעולות הוספה ו-האם-קיים ב- O(n) פעולות הצג-מינימום ו- הוצא-מקסימום ב- (1)O רשימה דו-כיוונית ממוינת )בסדר עולה או יורד( )בגודל n( הפנייה לאיבר בקצה אחד )מינימום( ולאיבר בקצה האחר )מקסימום(. הוספה בצורה ממוינת insert (x) Insert (x) O(n) האם-קיים? exists(x) Exists (x) O(1) הצג-מינימום showmin() ShowMin() הוצא-מקסימום getmx() GetMx() O(1) מעבר על הרשימה למציאת המקום המתאים לאיבר. )המעבר O(n) נעשה בעזרת שתי הפניות pos ו- prev והכנסה אחרי (1)O( - prev עדכון ההפניות למינימום ולמקסימום במידת הצורך. מעבר על כל הרשימה עד למציאת האיבר או עד שמגיעים לאיבר ראשון הגדול )או הקטן, תלוי בסוג המיון( ממנו. החזרת ה- vlue של ההפניה למינימום. הנחה: הרשימה לא ריקה. גישה מידית לאיבר המקסימום והוצאתו מהרשימה תוך עדכון ההפניה להפנות למקסימום החדש הנחה: הרשימה לא ריקה. )הקודם במיון בסדר עולה / העוקב במיון בסדר יורד(. ייצוג: O(n) O(n) O(1) O(1) )המכיל n איברים( מערך חד-ממדי ממוין בסדר עולה שמירת אינדקס לאיבר ראשון )מינימום( ולאיבר אחרון )מקסימום(. הוספה בצורה ממוינת insert (x) Insert (x) האם קיים? הצג מינימום exists(x) Exists (x) showmin() ShowMin() הוצא מקסימום getmx() GetMx() מעבר על המערך למציאת המקום המתאים לאיבר, הזזת האיברים כדי לפנות מקום לאיבר והכנסתו למערך. עדכון מקום המינימום והמקסימום במידת הצורך. הנחה: יש מספיק מקום במערך. מעבר על כל המערך עד למציאת האיבר או עד שמגיעים לאיבר ראשון הגדול ממנו. החזרת הערך שאינדקס התא שלו נמצא במינימום. הנחה: המערך לא ריק. הוצאת האיבר האחרון במערך ועדכון ההפניה למקסימום )האיבר האחרון החדש( הנחה: המערך לא ריק. עמוד 1

ביצוע פעולות הוספה ו-הוצא-מקסימום ב- O(n) הפעולה div7 בסיבוכיות (1)O ייצוג: O(n) O(n) O(1) רשימה/שרשרת חד או דו-כיוונית, ממוינת מונה למספר האיברים המתחלקים ב- 7 הוספה בצורה ממוינת insert(x) Insert(x) )בגודל n( מעבר על הרשימה למציאת המקום המתאים לאיבר. )המעבר O(n) נעשה בעזרת שתי הפניות pos ו- prev והכנסה אחרי (1)O( - prev אם המספר מתחלק ב- 7 - הוצא-מקסימום getmx() GetMx() מתחלק ב- 7? div7() / Div7() עדכון המונה. מעבר על כל הרשימה למציאת המקסימום והוצאתו. )ברשימה חד-כיוונית, המעבר נעשה בעזרת שתי הפניות pos ו- )prev אם המספר מתחלק ב- - 7 עדכון המונה. הנחה: הרשימה לא ריקה. החזרת מצב המונה )החזר: מונה == 0( ייצוג: O(n) O(n) O(1) מערך חד-ממדי ממוין בסדר יורד מונה למספר האיברים המתחלקים ב- 7 הוספה בצורה ממוינת insert(x) Insert(x) הוצא-מקסימום getmx() GetMx() מתחלק ב- 7 div7() / Div7() )המכיל n איברים( מעבר על המערך למציאת המקום המתאים לאיבר, הזזת האיברים כדי לפנות מקום לאיבר והכנסתו למערך. אם המספר מתחלק ב- - 7 עדכון המונה. הנחה: יש מספיק מקום המערך. המקסימום הוא האיבר הראשון, מחיקתו על ידי ציפוף שאר איברי המערך מקום אחד שמאלה )סגירת "החור"(. אם המספר מתחלק ב- 7 עדכון המונה. הנחה: המערך לא ריק. החזרת מצב המונה )החזר: מונה == 0( ייצוג: O(n) O(1) O(1) מחסנית / תור ממוינים בסדר עולה מונה למספר האיברים המתחלקים ב- 7 הוספה בצורה ממוינת insert(x) Insert(x) )בגודל n( הצג-מקסימום getmx() GetMx() מתחלק ב- 7 div7() / Div7() מעבר על איברי המחסנית/תור למציאת המקום המתאים לאיבר )כרוך בהעברת לכל היותר n איברים למחסנית/תור עזר והחזרתם(. אם המספר מתחלק ב- 7 עדכון המונה. הנחה עבור מחסנית/תור הממומשים במערך: יש מספיק מקום להוספת האיבר. הערך המקסימלי נמצא בתחתית המחסנית / סוף התור. כרוך בהעברת כל n האיברים למחסנית / תור עזר והחזרתם. אם המספר מתחלק ב- 7, עדכון המונה. הנחה: המחסנית / תור לא ריקים. החזרת מצב המונה )החזר: מונה == 0( עמוד 2

שאלה 2 0 1 2 3 4 5 length א. )1( * 6 c 2 1 1 1 0 2 2 3 4 5 5 7 ** )2( 0 1 2 3 4 5 c 2 1 3 2 4 3 5 4 5 4 7 6 0 1 2 3 4 5 6 length rr 5 0 2 1 3 0 5 7 0 1 2 3 4 5 6 length b 0 0 0 0 0 1 0 2 0 3 0 5 0 5 7 *** )3( n j j n rr[j] c[rr[j]] לפני c[rr[j]] אחרי b[ c[rr[j]] - 1] 7 6 T 5 c[5] = 7 6 b[7-1] = b[6] = 5 עמוד 3 5 T 0 c[0] = 2 1 b[2-1] = b[1] = 0 4 T 3 c[3] = 5 4 b[5-1] = b[4] = 3 3 T 1 c[1] = 3 2 b[3-1] = b[2] = 1 2 T 2 c[2] = 4 3 b[4-1] = b[3] = 2 1 T 0 c[0] = 1 0 b[1-1] = b[0] = 0 0 T 5 c[5] = 6 5 b[6-1] = b[5] = 5-1 F ג. הפעולה ממיינת את איברי מערך rr לתוך מערך b סיבוכיות הפעולה הוא :O(n) הפעולה מבצעת 4 מעברים על 3 מערכים שכל אחד מהם בגודל n או k. מיון מנייה או מיון ספירה sort) (counting הוא אלגוריתם מיון עבור מספרים שלמים המתבסס על העובדה שהמספרים נמצאים בטווח חסום כדי לבצע את המיון בזמן מהיר יותר מזה שמסוגלים לו אלגוריתמי המיון בצורה אינטואיטיבית, די למיון לעבור על קבוצת האיברים שרוצים למיין ולמנות את מספר המופעים של כל אחד מהאיברים, שמו של האלגוריתם. )גוגל( הכלליים. O(k) אתחול מערך c ל- 0 מעבר ראשון: מערך c משמש כמערך מונים *: מעבר שני ומכאן O(n) לאיברי מערך.rr מניית האיברים O(k) מעבר שלישי **: סכום האיברים במערך c O(n) מעבר רביעי ***: השמת כל ערך בתא המתאים במערך b 4n ומכאן שמספר הצעדים חסום ע"י 2n + 2k צעדים כך ש- k n סה"כ O(n) סיבוכיות ליניארית:

Jv שאלה 3 ניתן להחליף את קטע הקוד המסומן בקטע הבא סיבוכיות הפעולה: ) 2 O(n )סיבוכיות ריבועית( נימוק: הפעולה האם-נמצא עוברת על כל אחד מ- n הצמתים ב- t2 וסיבוכיותה O(n) עבור כל אחד מ- n הצמתים בעץ t1 בודקים האם נמצא ב- t2 ולכן O(n) O(n 2 ) n * עמוד 4

C# ניתן להחליף את קטע הקוד המסומן בקטע הבא סיבוכיות הפעולה: ) 2 O(n )סיבוכיות ריבועית( נימוק: הפעולה האם-נמצא עוברת על כל אחד מ- n הצמתים ב- n2 וסיבוכיותה O(n) עבור כל אחד מ- n הצמתים בעץ t1 בודקים האם נמצא ב- t2 ולכן O(n) O(n 2 ) n * עמוד 5

Jv שאלה 4 א+ המחלקה Pixel ומימוש פעולות הממשק ג. עירוב צבעי תמונה - במחלקה Pic50 עמוד 6

חלק זה לא נדרש בבחינה: המחלקה :Pic50 פלט עבור = 5 size עמוד 7

C# א+ המחלקה Pixel ומימוש פעולות הממשק ג. עירוב צבעי תמונה - במחלקה Pic50 עמוד 8

חלק זה לא נדרש בבחינה: המחלקה :Pic50 פלט עבור = 5 size עמוד 9

שני פרק מערכות מחשב ואסמבלי הפתרון לפרק זה נכתב ע"י: רונית גל-אור מרציאנו שאלה 5 MOV AX,7F80H CMP AH,AL JL SMALL BIG: MOV BL,AH JMP SOF SMALL: MOV BL,AL SOF: א. )1( טבלת מעקב AX BX CF OF SF ZF AH AL BH BL MOV AX,7F80H 7Fh 80h CMP AH,AL 1 1 1 MOV BL,AH 7Fh BL = 7Fh בסיום הקטע : הקטע משווה בין תוכן אוגר AH ואוגר AL בהתייחס לתוכן האוגרים כמספרים מכוונים הגדול שם באוגר BL אם נחליף את ההוראה בהוראה ערכו של BL ישתנה ויהיה : 80H ואת הערך JL SMALL JB SMALL )2( )3( עמוד 10

לא נכון! - הערכים שווים לא נכון! 27AE16 < 27AF16 10011110101110 2 >- 27AE16 < <27AE16 1015910 התפקידים של BP ו SP - BP אחראי על ה"טיול" במחסנית -SP מצביע על ראש המחסנית בסיום הקריאה והביצוע של כל הוראה ערכו של לא נכון! )ההסברים הפוכים( IP גדל תמיד ב - 1 IP גדל בהתאם לגודל הפקודה האחרונה אותו ביצע קטע 1 MOV DX,0000H MOV AX,0064H DIV AL קטע 2 MOV DX,0000H MOV AX,0064H DIV AX נכון! לא נכון! )1( )2( )3( )4( )5( קטע 1 קטע 2 לא נכון! )6( בסיום קטע 1 ערכו של AL יהיה שווה לערך שהוצב בו בהוראה הראשונה בסיום קטע 2 ערכו של AL לא יהיה שווה לערך שהוצב בו בהוראה הראשונה ערכו יהיה AL = B6 MOV AL, 5BH MOV CL, 9 ROL AL, CL MOV AL, 5BH MOV CL, 8 ROL AL, CL עמוד 11

ARR DW 3,10,0,8 RES DW 8 DUP(0) BEGIN: שאלה 6 XOR SI,SI ;INDEX IN ARRAY ARR XOR DI,DI ;INDEX IN ARRAY RES MOV CX,4 AGAIN: MOV AX,[SI] MOV DX,0000H CMP AX,0 JLE CONT ;NOT OK CMP AX,9 JG CONT ;NOT OK PUSH AX ; PLACE FOR ANSWER PUSH AX ; IN DUBLE WORD CALL CALC POP AX POP DX CALC PROC MOV BP,SP PUSHA MOV AX,[BP+2] MOV BX,AX DEC BX MOV DX,0 SHUV: MUL BX DEC BX CMP BX,1 JNE SHUV MOV [BP+2],AX MOV [BP+4],DX POPA RET ENDP CALC CONT: MOV RES[DI],DX MOV RES[DI+2],AX ADD SI,2 ;INC POINTER IN ARRAY ARR ADD DI,4 ; INC POINTER IN ARRAY RES LOOP AGAIN עמוד 12

שאלה 7 ARR1 DW 2025H,1061H,1492H,5777H,1948H ARR2 DW 1984H,1601H,2914H,9999H,8491H K DW 5 XOR SI,SI ;INDEX OF ARRAY 1 AND 2 MOV CX,K ;LOOP COUNTER MOV DX,0 ; COUNT POLINDROM WORDS AGAIN: PUSH CX ; KEEP LOOP COUNTER MOV AX,ARR1[SI] MOV CL,4 XCHG AH,AL MOV BH,AH SHR AH,CL SHL BH,CL ADD AH,BH MOV BL,AL SHR AL,CL SHL BL,CL ADD AL,BL CMP AX,ARR2[SI] JNE CONT INC DX CONT: INC SI INC SI POP CX LOOP AGAIN עמוד 13

00h שאלה 8 AX BX CX DX SI DI BP AH AL B H BL CH CL DH DL 00h 00h 00h 02h 0000h 0010h 0010h 04h 00h 00h 00h 00h 02h 04h 02h 04h 04h 00 h 04h 02h 02h 01h 0011h 0012h 00h 00h 00h 01h 0001h 0020h 0020h 0fh 00 h 0fh 02h 01h 07h 00h 0fh 07h 01h 02h 06h 00h 0fh 03h 02h 05h 00h 0fh 00h 03h 0021h 04h 00h 0fh 03h 03h 03h 00h 0fh 00h 05h 0022h 02h 00h 0fh 01h 07h 01h 00h 0fh 00h 0fh 0022h 00h 0002h 00h 00h 00h א. (2) DS: 0000H 04H,0FH,07H.. DS: 0010H 04H,02h, 01h DS: 0020h 0Fh,05h,03h,01h עמוד 14

התוכנית עוברת על 2 תאים ראושנים במערך. ARR מוצאת את המחלקים של כל איבר בתאים אילו, ושמה בכתובת 10h את המספר עצמו והמחלקים שלו כולל 1, בכתובת 20h את הערך האיבר הבא במערך ואחריו את המחלקים שלו כולל 1. )3( )1( )2( אם נמחק את הפקודה XOR AX,AX התוכנית לא תבצע את הנדרש שכן בפקודה,DIV DL המחלקת את תוכן אוגר AX באוגר, DL לא יהיה לאוגר AH ערך )יהיה לו "זבל"(. אם נחליף את ההוראה XOR AX,AX בהוראה,XOR AL,AL הבעיה תישאר אותה בעיה שכן לאוגר AH לא יהיה ערך. אם נחליף את ההוראה XOR AX,AX בהוראה,XOR AH,AH הבעיה תיפתר, והפקודה DIV,תתבצע DL כראוי. )3( עמוד 15

מודלים חישוביים / הפתרון לפרק זה נכתב ע"י: רחל לודמר חיים אברבוך 13 שאלה ע"י רחל לודמר: א..i.ii.iii כן. כל מילה המתחלקת ב 6, מתחלקת גם ב 3. כן. קבוצת המילים הזוגיים שגם מתחלקת ב, 3 היא גם מתחלקת ב 6. לא. למשל, שרשור המילים 12 33 אינו מתחלק ב 6. המילה 12 מתחלקת ב 2 ושייכת לאוסף, L 3 אבל מילת שרשורם 1233 לא שייכת המילה השנייה 33 מתחלקת ב 3 ושייכת לאוסף לאוסף של. L 2 L 6 ע"י חיים אברבוך: א. נכון כיוון שכל מספר המתחלק ב 6 מתחלק גם ב 3. נכון כיוון שכל מספר המתחלק ב 2 וגם ב 3 חייב להתחלק ב 6. לא נכון. 23 לא מתחלק ב 6. )1( )2( )3( עמוד 16

14 שאלה ע"י רחל לודמר: בכל האוטומטים שבשאלה הא"ב הוא {9..0}, המילים מייצגות מספרים חיובים הגדולים מ 0, אשר נקלטים ספרה, ספרה מימין לשמאל, כלומר החל מספרת האחדות. הנחה: אין אפסים מובילים במספרים - המילים מייצגות מספרים שלמים חיובים. א. מספרים זוגיים בלבד: מספרים אי-זוגיים קטנים מ- 1000: ג. מספרים שמתחלקים ב- 5 ללא שארית וספרת האלפים שלהם - אם קיימת - זוגית: ד. מספרים שמתחלקים ב- 1000. )מתחלק = ללא שארית( ה. מספרים שמתחלקים ב- 9 וקטנים מ- : עמוד 17

{9..0} = המספרים נקלטים ספרה אחר ספרה החל בספרת האחדות: ע"י חיים אברבוך: בכל האוטומטים שלהלן, הא"ב: א. מספרים זוגיים בלבד: מספרים אי-זוגיים קטנים מ- 1000 ג. מספרים שמתחלקים ב- 5 ללא שארית וספרת האלפים שלהם - אם קיימת - זוגית. ד. מספרים שמתחלקים ב- 1000. )מתחלק = ללא שארית( ה. מספרים שמתחלקים ב- 9 וקטנים מ- : עמוד 18

שאלה 15 א. ע"י רחל לודמר: q0 q1 ניעזר במקרא הבא: מצב תאור : השאריות המתאימות של c c q2 c q3 c c c, c עד למצב הנוכחי c %3=0, %2=0 c %3=0, %2=1 c %3=1, %2=0 c %3=1, %2=1 q0 q1 q2 q3 q4 q5 c %3=2, %2=0 c %3=2, %2=1 q4 q5 א. ע"י חיים אברבוך: האוטומט מקבל את כל המילים מעל {,c} שמספר ה ים זוגי ומספר ה c שארית חלוקה ב 3 שווה ל 0 כיון ששארית חלוקה ב 2 דורשת 2 מצבים ושארית חלוקה ב 3 דורשת 3 מצבים באוטמט המבוקש יהיו 6 מצבים. )ליד כל מצב רשום שארית החלוקה המתאימה. )1( )2( 0 c 0 1 c 0 c c c c 0 c 2 c 0 c 1 1 c 1 c 1 c 2 עמוד 19

ע"י רחל לודמר:,b,b b b b b b ע"י חיים אברבוך: עמוד 20

שאלה 16 א. ע"י רחל לודמר: אוטומט מחסנית א. ע"י חיים אברבוך: אוטומט מחסנית עמוד 21

ע"י רחל לודמר: מכונת טיורינג ע"י חיים אברבוך: מכונת טיורינג עמוד 22

תכנות מונחה עצמים Jv שאלה 17 א. שגוי שגוי פלט נימוק הקוד A x1 = new A(); x1.dosomthingelse(9,1); A x2 = new B(); x2.dosomthing(9); A x3 = new B(); x3.dosomthingelse(9, 1); A x4 = new B(); x4.dosomthingelse(9); A x5 = new C(); x5.dosomthing(9); A x6 = new C(); System.out.println (x6.clc(9)); A x7 = new D(); System.out.println (x7.clc(9)); A x8 = new D(); System.out.println (x8.otherclc(9)); A x9 = new E(); x9.dosomthing(9); יורש מ- A. המטרה אוטומטית כלפי מעלה. יורש מ- A. המטרה אוטומטית כלפי מעלה. A אינו מכיר את הפעולה המוגדרת ב- B. נדרשת המרה. הפעולה מוגדרת ב- A ומוגדרת מחדש ב- C. יורש מ- A. המטרה אוטומטית כלפי מעלה. )מדפיס בשורה השנייה את הערך המוחזר מהפעולה( יורש מ- A. המטרה אוטומטית כלפי מעלה. )מדפיס בשורה השנייה את הערך המוחזר מהפעולה( הפעולה אינה מוגדרת ב- A או ב- D. )הפעולה מוגדרת ב- C אבל אין קשר בין C ו- D(. יורש מ- C. המטרה אוטומטית כלפי מעלה. 2 1 2 5 3 10 3 10 5 A x10 = new E(); System.out.println (x10.clc(9)); A x11 = new E(); System.out.println x11.otherclc(9)); 8 12 שגוי הפעולה מוגדרת ב- A ומוגדרת מחדש ב- E. )מדפיס בשורה השנייה את הערך המוחזר מהפעולה( הפעולה מוגדרת מ- C. ההפנייה מטיפוס A. נדרשת המרה כלפי מטה ל- C או ל- E. (i) יש לרשום את קטע הקוד הבא: [1] D [2] D [3] C [4] clc כל שני מספרים שלמים שסכומם [5] 92 ניתן להגדיר אובייקט מטיפוס E, ולבצע המרה של ההפנייה מסוג A לסוג הנכון, אבל אז לא תהיה התאמה לקוד המוצע. (ii) עמוד 23

Jv שאלה 18 עמוד 24

שאלה 19 Alph IOne Progrm Bet ITwo Gmm IThree IFour א. כל מחלקה המממשת ממשק מתחייבת לממש את הפעולות שבממשק פעולות Jv מחלקה Alph boolen firsta (Object x) void firsta (Object x) Bet Gmm int second() int fourth() int second() int third() ג. ההגדרה אינה תקינה. יש לשמור על הסדר: מחלקה יורשת ורק אחר כך מממשת. התיקון: jv: public clss Omeg extends Bet implements IFour { } שגוי. לא ניתן ליצור עצם מטיפוס ממשק (); ITwo i ITwo x1 = new. יצירת עצם מטיפוס המחלקה Bet(); ii Bet b = new iii Alph = new Alph(); IOne x2 = ; iv Gmm c = new Gmm (); IOne x3 = c;. Alph מממשת את.IOne מתבצעת המרה כלפי מעלה מטיפוס המחלקה לטיפוס הממשק. שגוי. IOne אינה מממשת את Gmm i ii Bet b = new Bet(); ITwo b = new Bet(); int x = b.second (); Gmm g = new Gmm(); Alph = (Alph) g; ד.. Bet מממשת את ITwo שגוי. אין קשר בין שתי המחלקות עמוד 25

A A 1 = new B(); שאלה 20 א. נתון: B Object obj = 1; המשפט. קביעה לא נכונה. כל העצמים יורשים מ-.Object מתבצעת המרה אוטומטית כלפי מעלה. A 2 = 1; המשפט. קביעה לא נכונה. ניתן לשים על אובייקט מטיפוס תת-מחלקה הפנייה מסוג מחלקת העל שלו. B b1 = (A) 1; הקביעה נכונה. נגרשת המרה כלפי מטה: התיקון: (i) (ii) (iii) B iv יחסי ההורשה הם: C A D C B A הערה: לפי קטע הקוד מתקיימים גם יחסי ההורשה הבאים: D ג. לכתוב רק protected הערה: ניתן לכתוב גם.public זה יעבור קומפילציה אבל זה אינו תואם את כללי הסתרת המידע הנהוגים בתמ"ע. ד. הערה: יש ליצור 5 עצמים, ולהפעיל את הפעולה על העצם השלישי, ואז יתקבל הפלט 3 ו- 5 ערך num של העצם השלישי הוא 3 התכונה המשותפת )הסטטית( count גדלה עם כל עצם חדש ולכן ערכה הוא 5. הקוד של סעיף זה מטעה. למרות שהפעולה printnow מדפיסה שני ערכים, מכיוון שאין ביניהם רווח ניתן לקרוא את הפלט כמספר אחד: 35 )ולא כשני מספרים צמודים 3 ו- 5(. חלק מהתלמידים הבינו שיש כאן שגיאה וחסר נתון ולכן לעולם לא יתקבל הפלט 35 )שלושים וחמש( וחלק מהתלמידים הבינו את השאלה כ-: "כמה עצמים יש ליצור על מנת שהמשתנה הסטטי יראה 35". הוספת רווח או פסיק בין המשתנים המוצגים במחרוזת הפלט היו פותרים את הבעיה. עמוד 26

תכנות מונחה עצמים #C שאלה 21 א. שגוי שגוי פלט נימוק הקוד A x1 = new A(); x1.dosomthingelse(9,1); A x2 = new B(); x2.dosomthing(9); A x3 = new B(); x3.dosomthingelse(9, 1); A x4 = new B(); x4.dosomthingelse(9); A x5 = new C(); x5.dosomthing(9); A x6 = new C(); Console.WriteLine (x6.clc(9)); A x7 = new D(); Console.WriteLine (x7.clc(9)); A x8 = new D(); Console.WriteLine (x8.otherclc(9)); A x9 = new E(); x9.dosomthing(9); יורש מ- A. המטרה אוטומטית כלפי מעלה. יורש מ- A. המטרה אוטומטית כלפי מעלה. A אינו מכיר את הפעולה המוגדרת ב- B. נדרשת המרה. הפעולה מוגדרת ב- A ומוגדרת מחדש ב- C. יורש מ- A. המטרה אוטומטית כלפי מעלה. )מדפיס בשורה השנייה את הערך המוחזר מהפעולה( יורש מ- A. המטרה אוטומטית כלפי מעלה. )מדפיס בשורה השנייה את הערך המוחזר מהפעולה( הפעולה אינה מוגדרת ב- A או ב- D. )הפעולה מוגדרת ב- C אבל אין קשר בין C ו- D(. יורש מ- C. המטרה אוטומטית כלפי מעלה. 2 1 2 5 3 10 3 10 5 A x10 = new E(); Console.WriteLine (x10.clc(9)); A x11 = new E(); Console.WriteLine x11.otherclc(9)); שגוי הפעולה מוגדרת ב- A ומוגדרת מחדש ב- E. )מדפיס בשורה השנייה את הערך המוחזר מהפעולה( הפעולה מוגדרת מ- C. ההפנייה מטיפוס A. נדרשת המרה כלפי מטה ל- C או ל- E. 8 12 (i) יש לרשום את קטע הקוד הבא: [1] D [2] D [3] C [4] clc כל שני מספרים שלמים שסכומם [5] 92 ניתן להגדיר אובייקט מטיפוס E, ולבצע המרה של ההפנייה מסוג A לסוג הנכון, אבל אז לא תהיה התאמה לקוד המוצע. (ii) עמוד 27

C# שאלה 22 עמוד 28

שאלה 23 Alph IOne Progrm Bet ITwo Gmm IThree IFour א. כל מחלקה המממשת ממשק מתחייבת לממש את הפעולות שבממשק מחלקה Alph bool FirstA (Object x) void FirstA (Object x) Bet Gmm int Second() int Fourth() int Second() int Third() פעולות #C ההגדרה אינה תקינה. יש לשמור על הסדר: התיקון: מחלקה יורשת ורק אחר כך מממשת. C#: public clss Omeg : Bet, IFour { } שגוי. לא ניתן ליצור עצם מטיפוס ממשק (); ITwo i ITwo x1 = new. יצירת עצם מטיפוס המחלקה Bet(); ii Bet b = new iii Alph = new Alph(); IOne x2 = ; iv Gmm c = new Gmm (); IOne x3 = c; ג.. Alph מממשת את.IOne מתבצעת המרה כלפי מעלה מטיפוס המחלקה לטיפוס הממשק. שגוי. IOne אינה מממשת את Gmm i ii Bet b = new Bet(); ITwo b = new Bet(); int x = b.second (); Gmm g = new Gmm(); Alph = (Alph) g; ד.. Bet מממשת את ITwo שגוי. אין קשר בין שתי המחלקות עמוד 29

A A 1 = new B(); שאלה 24 א. נתון: B Object obj = 1; המשפט. קביעה לא נכונה. כל העצמים יורשים מ-.Object מתבצעת המרה אוטומטית כלפי מעלה. A 2 = 1; המשפט. קביעה לא נכונה. ניתן לשים על אובייקט מטיפוס תת-מחלקה הפנייה מסוג מחלקת העל שלו. B b1 = (A) 1; הקביעה נכונה. נגרשת המרה כלפי מטה: התיקון: (i) (ii) (iii) B iv יחסי ההורשה הם: C A D C B A הערה: לפי קטע הקוד מתקיימים גם יחסי ההורשה הבאים: D ג. לכתוב רק protected הערה: ניתן לכתוב גם.public זה יעבור קומפילציה אבל זה אינו תואם את כללי הסתרת המידע הנהוגים בתמ"ע. ד. הערה: יש ליצור 5 עצמים, ולהפעיל את הפעולה על העצם השלישי, ואז יתקבל הפלט 3 ו- 5 ערך num של העצם השלישי הוא 3 התכונה המשותפת )הסטטית( count גדלה עם כל עצם חדש ולכן ערכה הוא 5. הקוד של סעיף זה מטעה. למרות שהפעולה printnow מדפיסה שני ערכים, מכיוון שאין ביניהם רווח ניתן לקרוא את הפלט כמספר אחד: 35 )ולא כשני מספרים צמודים 3 ו- 5(. חלק מהתלמידים הבינו שיש כאן שגיאה וחסר נתון ולכן לעולם לא יתקבל הפלט 35 )שלושים וחמש( וחלק מהתלמידים הבינו את השאלה כ-: "כמה עצמים יש ליצור על מנת שהמשתנה הסטטי יראה 35". הוספת רווח או פסיק בין המשתנים המוצגים במחרוזת הפלט היו פותרים את הבעיה. עמוד